package com.sgb.link.api;

import com.sgb.link.entity.LoginTempEntity;
import com.swgk.core.base.model.entity.BaseEntity;
import com.swgk.core.view.areapopup.AddressEntity;

import java.util.List;
import java.util.Map;

import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.PartMap;
import retrofit2.http.Path;

/**
 * @author: 杨畔
 * @date: 2021/2/19 16:43
 * @Description: 公用网络服务
 */
public interface CommonService {

    //获取三级地址列表
    @GET("common/simpleArea.json")
    Call<BaseEntity<List<AddressEntity<List<AddressEntity<List<AddressEntity>>>>>>> getCityList();

    //上传单个文件
    @Multipart
    @POST("v1/app/common/fileUpload")
    Call<BaseEntity> uploadFile(@PartMap Map<String, RequestBody> files);

    //上传单个文件，支持点击链接浏览器下载
    @Multipart
    @POST("v1/app/common/addFile")
    Call<BaseEntity> addFile(@PartMap Map<String, RequestBody> files);

    //上传多个文件
    @Multipart
    @POST("v1/app/common/mutiFileUploadOrderly")
    Call<BaseEntity<List<String>>> uploadMutiFileDrive(@PartMap Map<String, RequestBody> files);

    /**
     * 用户登陆
     *
     * @param username 登录的用户名
     * @param password 登录的密码
     * @return 返回的对象，包括权限之类的
     */
    @FormUrlEncoded
    @POST("v1/app/login")
    Call<BaseEntity<LoginTempEntity>> login(@Field("username") String username, @Field("password") String password);
}
